replace(replace(replace(replace(replace(replace(replace(to_char(?,'FMXX')
,'0','0000'),'1','0001'),'2','0010'),'3','0011'),'4','0100'),'5','0101')
,'6','0110'),'7','0111'),'8','1000'),'9','1001'),'A','1010'),'B','1011')
,'C','1100'),'D','1101'),'E','1110'),'F','1111'),'0') bin
from dual;
10进制转16进制: to_char 格式字符串中‘x’的个数必须多于16进制的位数,否则,会###;fm表示去掉前后的空格。
SQL> SELECT to_char(31,'x') FROM dual;
TO
--
##
SQL> SELECT to_char(31,'xx') FROM dual;
TO_
---
1f
SQL> SELECT to_char(31,'xxxxx') FROM dual;
TO_CHA
------
1f
SQL> SELECT to_char(31,'fmxxxxx') FROM dual;
TO_CHA
------
1f
16进制转10进制: to_number 格式字符串中‘x’的个数必须多于16进制的位数,否则,会###;fm表示去掉前后的空格。
SQL> select to_number('abcd','xxxx') from dual
2 ;
TO_NUMBER('ABCD','XXXX')
------------------------
43981